package com.FundamentalDemos.variable;

public class TypeDemo {
    public static void main(String[] args) {

        //Java变量占字节数:  ※为与C语言不同处
        //整型:
        //byte       1
        //short      2
        //int(默认)   4
        //long       ※8
        //浮点型:
        //float      4
        //double     8
        //字符型:
        //char       ※2
        //布尔型:
        //boolean    ※1

        System.out.println("-----------------------------");
        System.out.println("int:" + Integer.SIZE / 8 + "字节");
        System.out.println("short:" + Short.SIZE / 8 + "字节");
        System.out.println("long:" + Long.SIZE / 8 + "字节");
        System.out.println("byte:" + Byte.SIZE / 8 + "字节");
        System.out.println("char:" + Character.SIZE / 8 + "字节");
        System.out.println("float:" + Float.SIZE / 8 + "字节");
        System.out.println("double:" + Double.SIZE / 8 + "字节");
        //Boolean封装类中没有SIZE成员变量,暂且记为占1个字节即可,在JVM中boolean变量实际是转成int,类型,占4个字节,而JVM中boolean数组又是按照byte数组计算的,每个boolean占1个字节
        System.out.println("-----------------------------");

        //掌握8种数据类型
        //1.整型
        byte number = 98;
        System.out.println(number);

        short numbers = 9000;

        int num3 = 12345678;//默认

        long num4 = 4123789521570L;//注意整数字面量默认是int类型的,要后面加L或者l转成long类型

        //2.浮点型
        float score1 = 99.5f;//注意浮点型字面量默认是double类型的,要后面加F或者f转成float类型
        double score2 = 99.8;//默认

        //3.字符型
        char ch1 = 'a';
        char ch2 = '中';
        //不可以char ch3 = '中国';

        //4.布尔型
        boolean b1 = true;
        boolean b2 = false;

        //引用数据类型String字符串类型
        String name = "黑马";
        System.out.println(name);


    }
}
